#pragma once
#include "ui_visual2.h"
#include "common/head.h"
#include <QMainWindow>

class visual2 : public QMainWindow {
    Q_OBJECT
    
public:
    visual2(QWidget* parent = nullptr);
    ~visual2();

private:
    Ui_visual2* ui;

protected:
    void mousePressEvent(QMouseEvent* event);

    void mouseMoveEvent(QMouseEvent* event);

    void mouseReleaseEvent(QMouseEvent* event);

private slots: 
    //初始化界面UI设置
    void initUI();

    //初始化界面按钮设置
    void initButton();

    //初始化界面Label设置
    void initEdit();

    //初始化参数
    void initParas();

    // //初始化相机
    // void initCamera();

    //连接至PLC
    void connectPLC();

    //连接至相机
    void connectCamera();
    
    //选择机型
    void selectModel();

    //退出
    void exit();

    //开始标定机型
    void startCalModel();

    //重新标定机型
    void reCalModel();

    //旋转
    void rotate();

    //标定完成机型
    void calFinishModel();

    //开始标定相机
    void startCalCamera();

    //重新标定相机
    void reCalCamera();

    //标定完成相机
    void calFinishCamera();

    //操作PLCx方向
    void PLCTeachingX();

    //操作PLCy方向
    void PLCTeachingY();

    //操作PLCz方向
    void PLCTeachingZ();

    //操作PLCr方向
    void PLCTeachingR();

public slots:
    void processImageAndUpgradeUI();

signals:
    void sendImageDeal();
};